#include "BinarySearchTree.h"

//using namespace dd;
//
//void test1()
//{
//	int arr[] ={5,3,4,1,7,8,2,6,0,9,5,5};
//	BSTree<int> b1;
//	for(int i = 0;i < sizeof(arr)/sizeof(arr[0]);i++)
//		b1.Insert(arr[i]);
//	
//		b1.earse(7);
//		b1.earse(5);
//		b1.earse(0);
//		b1.earse(1);
//	for(int i = 0;i < sizeof(arr)/sizeof(arr[0]);i++)
//		b1.earse(i);
//	b1.InOrder();
//}



using namespace Hx;
void test1()
{
	int arr[] = {5,3,4,1,7,8,2,6,0,9};

	BSTree<int> b1;

	for(size_t i = 0;i < sizeof(arr)/sizeof(arr[0]);i++)
	{
		b1.Insert(arr[i]);
	}

	b1.print_BSTree();
	cout << b1.find_BSTree(3)->_left->_data << endl;
	b1.EarseR(7);
	b1.print_BSTree();
	b1.EarseR(5);
	b1.print_BSTree();
	b1.EarseR(0);
	b1.print_BSTree();
	b1.EarseR(1);
	b1.print_BSTree();

	for(size_t i = 0;i < sizeof(arr)/sizeof(arr[0])-3;i++)
	{
		b1.EarseR(arr[i]);
	}
	b1.print_BSTree();
	b1.EarseR(6);
	b1.EarseR(9);
	b1.print_BSTree();
}
int main()
{
	test1();
	return 0;
}